import socket

def demo1():
    # 创建tcp客户端套接字
    # AF_INET：表示ipv4
    # SOCK_STREAM:tcp传输协议
    client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    # 和服务端建立连接
    # 以元组形式传递参数IP和端口
    client_socket.connect(('127.0.0.1', 8080))
    # 准备发送数据
    send_data = "你好服务端，我是客户端数据！".encode("gbk")
    # 发送数据
    client_socket.send(send_data)
    # 接收返回数据,最大字节数1024
    return_data = client_socket.recv(1024)
    # 返回的数据是二进制数据
    print("服务器返回数据：", return_data)
    # 对数据解码
    return_content = return_data.decode("gbk")
    print("服务器返回数据：", return_content)
    # 关闭套接字
    client_socket.close()

def demo2():
    # 创建客户端套接字
    client_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    # 连接
    client_socket.connect(("127.0.0.1",8080))
    # 发送数据
    # 要将字符串转换成二进制数据
    b_data = "你好呀".encode('gbk')
    print("发送的数据：",b_data)
    client_socket.send(b_data)
    # 接收返回数据
    receive_data = client_socket.recv(1024)
    # 要将二进制数据转换成字符串
    receive_str = receive_data.decode('gbk')
    print("接收到的数据:",receive_str)
    # 关闭套接字
    client_socket.close()

if __name__ == '__main__':
    # demo1()
    demo2()

